// var o;
// exports.AwardConfig = void 0;
// var AL_GAME_HUA_ConfigHandler = require("./AL_GAME_HUA_ConfigHandler");
// var AL_GAME_HUA_GameConst = require("./AL_GAME_HUA_GameConst");
// var AL_GAME_HUA_LatticeConfig = require("./AL_GAME_HUA_LatticeConfig");
// var c = (function (e) {
//     function t() {
//         return (null !== e && e.apply(this, arguments)) || this;
//     }
//     __extends(t, e);
//     t.getInstance = function () {
//         return this.instance || (this.instance = new t());
//     };
//     t.prototype.destroy = function () {
//         t.instance = null;
//     };
//     t.prototype.genju_jishu_huoqu_jianli_xinxi = function (e) {
//         var t = (e + 1) * AL_GAME_HUA_GameConst.GameConst.getInstance().levelBox_unlock_level;
//         var n = [3, 4, 5, 6];
//         var o = n[e % n.length];
//         return {
//             level: t,
//             Award1: AL_GAME_HUA_GameConst.GameConst.getInstance().levelBox_reward_coin[0],
//             Award2: o,
//             Number: AL_GAME_HUA_GameConst.GameConst.getInstance().levelBox_reward_coin[1]
//         };
//     };
//     t.prototype.genju_jishu_huoqu_xingji_jianli_xinxi = function (e) {
//         var t = (e + 1) * AL_GAME_HUA_GameConst.GameConst.getInstance().starBox_unlock_star;
//         var n = [3, 4, 5, 6];
//         var o = n[e % n.length];
//         return {
//             level: t,
//             Award1: AL_GAME_HUA_GameConst.GameConst.getInstance().levelBox_reward_coin[0],
//             Award2: o,
//             Number: AL_GAME_HUA_GameConst.GameConst.getInstance().levelBox_reward_coin[1]
//         };
//     };
//     t.prototype.huoqu_tiaozhan_jianli_xinxi = function () {
//         var e =
//             AL_GAME_HUA_LatticeConfig.LatticeConfig.getInstance().levelGenerator.challengeConfigs.rewards.huoqu_shuzu_zhong_suiji_yige_yuansu();
//         return {
//             level: 0,
//             Award1: AL_GAME_HUA_GameConst.GameConst.getInstance().challenge_reward_coin[0],
//             Award2: e.ID,
//             Number: AL_GAME_HUA_GameConst.GameConst.getInstance().challenge_reward_coin[1]
//         };
//     };
//     t.instance = null;
//     return t;
// })(AL_GAME_HUA_ConfigHandler.ConfigHandler);
// exports.AwardConfig = c;

// 引入所需模块
var singletonInstance; // 匿名变量修改为具有描述性的命名
exports.AwardConfig = void 0;
var ConfigHandler = require("./AL_GAME_HUA_ConfigHandler");
var GameConstModule = require("./AL_GAME_HUA_GameConst");
var LatticeConfigModule = require("./AL_GAME_HUA_LatticeConfig");

/**
 * @classdesc 奖励配置类，提供不同类型的奖励配置获取实例
 */
var AwardConfig = (function (BaseClass) {
    
    // 继承基类
    function AwardConfig() {
        // 继承父类构造函数
        return (null !== BaseClass && BaseClass.apply(this, arguments)) || this;
    }
    __extends(AwardConfig, BaseClass);

    // 单例模式，获取实例
    AwardConfig.getInstance = function () {
        // 如果实例不存在，则创建一个新的实例
        return this.instance || (this.instance = new AwardConfig());
    };

    /**
     * 销毁实例，释放内存
     */
    AwardConfig.prototype.destroy = function () {
        AwardConfig.instance = null;
    };

    /**
     * 根据计数获取奖励信息
     * 
     * @param {number} count - 用于计算奖励的计数参数
     * @return {Object} 包含等级和奖励信息的对象
     */
    AwardConfig.prototype.genju_jishu_huoqu_jianli_xinxi = function (count) {
        var calculatedLevel = (count + 1) * GameConstModule.GameConst.getInstance().levelBox_unlock_level;
        var awardOptions = [3, 4, 5, 6];
        var selectedAward = awardOptions[count % awardOptions.length];

        return {
            level: calculatedLevel,
            Award1: GameConstModule.GameConst.getInstance().levelBox_reward_coin[0],
            Award2: selectedAward,
            Number: GameConstModule.GameConst.getInstance().levelBox_reward_coin[1]
        };
    };

    /**
     * 根据星级计数获取奖励信息
     * 
     * @param {number} label_star_count - 用于计算奖励的星级计数参数
     * @return {Object} 包含星级和奖励信息的对象
     */
    AwardConfig.prototype.genju_jishu_huoqu_xingji_jianli_xinxi = function (label_star_count) {
        var calculatedStarLevel = (label_star_count + 1) * GameConstModule.GameConst.getInstance().starBox_unlock_star;
        var starAwardOptions = [3, 4, 5, 6];
        var selectedStarAward = starAwardOptions[label_star_count % starAwardOptions.length];

        return {
            level: calculatedStarLevel,
            Award1: GameConstModule.GameConst.getInstance().levelBox_reward_coin[0],
            Award2: selectedStarAward,
            Number: GameConstModule.GameConst.getInstance().levelBox_reward_coin[1]
        };
    };

    /**
     * 获取挑战奖励信息
     * 
     * @return {Object} 包含挑战奖励信息的对象
     */
    AwardConfig.prototype.huoqu_tiaozhan_jianli_xinxi = function () {
        var randomReward = LatticeConfigModule.LatticeConfig.getInstance().levelGenerator.challengeConfigs.rewards.huoqu_shuzu_zhong_suiji_yige_yuansu();

        return {
            level: 0,
            Award1: GameConstModule.GameConst.getInstance().challenge_reward_coin[0],
            Award2: randomReward.ID,
            Number: GameConstModule.GameConst.getInstance().challenge_reward_coin[1]
        };
    };

    // 单例模式中的实例变量
    AwardConfig.instance = null;
    return AwardConfig;

})(ConfigHandler.ConfigHandler);

// 导出 AwardConfig 模块
exports.AwardConfig = AwardConfig;